home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / terms / kermit / b / ikcaux.cmd < prev    next >
Encoding:
Text File  |  1992-12-22  |  3.7 KB  |  142 lines

  1. :READ KERMAIL EXEC A
  2. /*
  3. Date: Wed, 26 Jun 91 08:20:26 MEZ
  4. From: Erwin Halpern <Z00EHR01@AWIUNI11.BITNET>
  5.  
  6.   KERMAIL EXEC T
  7.  
  8.   Purpose:
  9.      Route MAIL received from MS-KERMIT via CMS-KERMIT
  10.      to MAILER for distribution.
  11.  
  12.   Requirements:
  13.      At least one Read/Write-disk accessed
  14.  
  15.   Call:
  16.      Is done internally by CMS-KERMIT
  17.  
  18.   Function:
  19.      CMS-KERMIT calls KERMAIL once with the argument "." to assure
  20.      that KERMAIL is available. In this case KERMAIL returns with RC=0.
  21.      Then when CMS-KERMIT has received the mail-file from the PC, it
  22.      calls KERMAIL with the (Arg) format shown below.  KERMAIL now looks
  23.      if FN FT FM really exists and sends it to MAILER via MAIL.
  24. */
  25.  
  26. Arg fn ft fm '(' mailids '(' mailopts
  27. if fn = '' | fn = "." then return 0
  28. 'SET CMSTYPE HT'
  29. 'STATE' fn ft fm
  30. rrc=-rc
  31. if rrc ^= 0 then do
  32.    'SET CMSTYPE RT'
  33.     return rrc
  34. end
  35. 'MAIL' mailids '( NOE NOL NOPR F' fn ft fm mailopts
  36. rrc=rc
  37. if rrc > 0 then rrc=-rrc
  38. 'SET CMSTYPE RT'
  39. 'ERASE' fn ft fm
  40. return rrc
  41. :READ KERMPRT EXEC A
  42. &TRACE *
  43. *-------------------------------------------------------------
  44. * KERMPRT EXEC - Sample command for driving PRINT distribution
  45. *         jfc   90/06/25
  46. *------------------------------------------------------------
  47. &IF &N LT 2 &EXIT 0
  48. &X = -1 + &LOCATION OF ( &ARGSTRING
  49. &IF &X LT 3 &EXIT -20
  50. &FILEID = &LEFT OF &ARGSTRING &X
  51. &X = 2 + &X
  52. &OPTIONS = &PIECE OF &ARGSTRING &X
  53. &UPPER VARS &OPTIONS
  54. * -- COULD CHECK SYNTAX HERE ...
  55. SENTRIES
  56. &STACKSIZE = &RC
  57. EXECIO * CP (LIFO ST QUERY VIRTUAL 009
  58. SENTRIES
  59. &STACKSIZE = &RC - &STACKSIZE
  60. &LOOP 1 &STACKSIZE
  61.   &READ STRING &X
  62. &CHR = &PIECE OF &X 9 1
  63. &TERM = 23
  64. &IF .&CHR NE . &TERM = &TERM + 2
  65. &START = &TERM + 7
  66. &TERM = &PIECE OF &X &TERM 6
  67. &START = &PIECE OF &X &START 5
  68. CP SPOOL 9 NOTERM START
  69. &PRINT -- KERMPRT SENDING &FILEID TO PRINTER
  70. PRINT &FILEID (&OPTIONS
  71. &R = &RC
  72. &IF .&START NE .START CP SPOOL 9 PURGE
  73. EXECIO 0 CP (SKIP ST SPOOL 9 &TERM &START
  74. &IF &R NE 0 &EXIT -20
  75. ERASE &FILEID
  76. &EXIT 0
  77. :READ PC EXEC A
  78. /*   PC Exec - J.F. Chandler - 1992 April
  79.    (modified December to use TERMINALS instead of TERMINLR)
  80.  
  81.    Intended to be executed either from inside Kermit or out.
  82.    Syntax:  PC cmd
  83.    The PC Kermit is placed in server mode via TERMINALS, then the "cmd"
  84.    is executed, and then a FINISH is executed.
  85.  
  86.    Special case:  PC PRINT file
  87.    The printer is enabled via ANSI escape sequence, the file is then
  88.    displayed, and the printer is disabled.
  89. */
  90. Parse Arg cmd
  91. If Words(cmd) <= 1 Then Do
  92.   Say 'Missing parameter(s)'
  93.   Exit 99
  94.   End
  95. Trace OFF
  96. print = Abbrev('PRINT',Word(cmd,1),2)
  97. If Right(Strip(cmd),1) = ',' Then Do
  98.   Say 'Syntax error'
  99.   Exit 99
  100.   End
  101. If print Then Do
  102.   open_cmd = 'XECHO ^[[5i'      /* Enable printer */
  103.   cmd = 'XTYPE' Subword(cmd,2)
  104.   close_cmd = 'XECHO ^[[4i'     /* Disable printer */
  105.   End
  106. Else Do
  107.   open_cmd = 'XECHO ^[[?34h    ^[[?34h'    /* start server (extra) */
  108.   close_cmd = 'FINISH'
  109.   End
  110. Address KERMIT open_cmd
  111. If rc<>0 Then Signal INVOKE     /* Kermit not started yet */
  112. Address KERMIT cmd
  113. r = rc
  114. Address KERMIT close_cmd
  115. Select
  116.   When r=2  Then Say 'Transfer cancelled'
  117.   When r=5  Then Say 'Bad packet count or chksum'
  118.   When r=6  Then Say 'Invalid packet syntax'
  119.   When r=7  Then Say 'Invalid packet type'
  120.   When r=8  Then Say 'Lost a packet'
  121.   When r=9  Then Say 'Micro sent a NAK'
  122.   When r=10 Then Say 'Micro aborted'
  123.   When r=12 Then Say 'File not found'
  124.   When r=13 Then Say 'Disk or file is full'
  125.   When r=14 Then Say 'Disk I/O error'
  126.   When r=15 Then Say 'Missing operand'
  127.   When r=17 Then Say 'Syntax error'
  128.   When r=19 Then Say 'Records truncated'
  129.   When r=20 Then Say 'Bad communication line'
  130.   When r=22 Then Say 'File too short'
  131.   When r=23 Then Say 'Missing start-of-packet'
  132.   Otherwise Nop
  133.   End
  134. Exit r
  135. *
  136. INVOKE:
  137. Push 'QUIT'
  138. Push close_cmd
  139. Push cmd
  140. Push open_cmd
  141. Address CMS 'KERMIT'
  142.